//类的内部和外部,属性默认定义为public共用的,在类的内部和外部都可以被调用;定义为private私有的,在外部调用就会报错;
//protected受保护的与private类似,也只能在类的内部使用,不能在外部使用,但是可以在继承的子类的内部使用,不可以在子类外部使用
class Person {
  //   private name?: string ;
  public name?: string;
  protected age: number = 18;
  public sayHello() {
    console.log(this.name + " Hello");
  }
}

class Player extends Person {
  public sayBye() {
    console.log(this.name + "年龄" + this.age);
  }
}
const person = new Player();
person.name = "wk";
console.log(person.name);
person.sayHello();
person.sayBye();
